//
// Created by Administrator on 2021/11/12.
//

#include "iostream"
#include "algorithmTemplate.h"
#include "doublyList.h"
#include "map"
#include "list"
#include "algorithm"
using namespace std;

void function66(const map<int, int>& aMap, list<int>& aList) {
    if (aMap.empty()) {
        cerr << "The map is empty." << endl;
        return;
    }
    auto iterMap = aMap.begin();
    while (iterMap != aMap.end()) {
        aList.insert(aList.end(), iterMap->second);
        iterMap++;
    }
    iterMap = aMap.begin();
    while (iterMap != aMap.end()) {
        aList.insert(aList.end(), iterMap->first);
        iterMap++;
    }
    replace_if(aList.begin(), aList.end(), [](const int item) {return item < 0;}, 999);
}


int main() {
//    adjacentFindTemplate();
//    cout << endl;
//    copyTemplate();
//    cout << endl;
//    countTemplate();
//    cout << endl;
//    fillTemplate();
//    cout << endl;
//    findTemplate();
//    cout << endl;
//    forEachTemplate();
//    cout << endl;
//    isSortedTemplate();
//    cout << endl;
//    mergeTemplate();
//    cout << endl;
//    moveTemplate();
//    cout << endl;
//    removeTemplate();
//    cout << endl;
//    replaceTemplate();
//    cout << endl;
    reverseTemplate();
    cout << endl;
//    uniqueTemplate();
//    cout << endl;
//    DoublyList list;
//    list.createAList();
//    list.testAll();
//
//    DoublyList list1;
//    list1.createAList();
//
//    set<int> aSet = {888, 2, 3, 4, 5};
//
//    list.function38(list1, aSet);
//    list1.testAll();
//    map<int, int> aMap = {{-4, 1}, {-2, 8}};
//    list<int> list(aMap.size());
//    function66(aMap, list);
//    cout << list.size() << endl;
    return 0;
}
